package interface1

import (
	"study_demo/src/interface1/case1"
	"study_demo/src/interface1/case2"
	"study_demo/src/interface1/case3"
	"study_demo/src/interface1/case4"
	"study_demo/src/interface1/case5"
	"study_demo/src/interface1/case6"
)

/** interface 接口示例


定义语法：
type <接口名称> interface {
	xx接口函数xx()
	xx接口函数xx()
}
*/

func Test() {

	// 接口使用场景1
	var phone case1.Phone

	phone = new(case1.NokiaPhone)
	phone.Call()

	phone = new(case1.IPhone)
	phone.Call()

	// 结构体的方式调用
	iphone1 := case1.IPhone{}
	iphone1.Call()

	// 接口使用场景2
	case2.Test()

	// 接口示例3
	case3.Test()

	// 接口示例4
	case4.Test()

	// 接口示例5
	case5.Test()

	// 接口示例6
	case6.Test()
}
